Device for accessing a telecommunication network for the selective degradation of data flows

ABSTRACT

A device (R A ) for accessing a telecommunication network (N) comprising  
     means for transmitting data flows between at least one first telecommunication client (A) connected to the core network by means of an access network (N A ) possessing throughput performances lower than the core network (N) and at least one second telecommunication client (B, S);  
     degradation means for degrading at least one quality parameter of at least one data flow.  
     The invention is characterised in that the degradation means make use of a module associated with each session, for carrying out the degradation.

[0001] The present invention relates to telecommunication networks,allowing the transmission of multimedia data flows. More precisely, itconcerns devices for accessing these telecommunication networks.

[0002] The invention applies particularly well to packet switchingtelecommunication networks, in particular those based on a protocolstack of type IPv4 or IPv6 (Internet Protocol, version 4 or 6,respectively).

[0003] One of the advantages of this type of telecommunication networkis the ability to easily transport multimedia data flows.

[0004] Subsequently, multimedia data flow, or more simply “multimediaflow”, means a set of data transmitted through the network, representinginformation of diverse natures such as voice, video, text, images, etc.

[0005] Within the context of a packet switching network, these dataflows are structured in the form of a sequence of packets.

[0006]FIG. 1 depicts a telecommunication network N according to theprior art. Clients A, B, S are connected to this network. These clientscan be users A, B or service-providing servers S.

[0007] Between these various clients, sessions can be established, thatis to say information transmissions consequent upon an explicit requestfrom one of the parties. The information transmission may require theestablishment of a number of multimedia data flows. For example, in thecase of a videoconference, according to one possible embodiment, therecan be two multimedia data flows: one flow concerning voice, and oneflow concerning video.

[0008] These sessions can be established:

[0009] between a service-providing server S and a user A, B: this is thecase in particular for a VoD (Video on Demand) service;

[0010] Between two users A, B: this is the case in particular for avideoconference service.

[0011] Each client A, B, S is connected to the network by access devicesR_(A), R_(B), R_(S), consisting of one or more network elements(routers, in the case of a telecommunication network based on theprotocol stacks IPv4 and/or IPv6), by means of access networks N_(A),N_(B), N_(S).

[0012] Conventionally, the transmission capacities of the accessnetworks N_(A), N_(B) are much lower than those of the main network N.Typically, when the clients A, B are private individual users or smallcompanies, the access networks are the Plain Old Telephone Service(POTS). Even benefiting from xDSL (Digital Subscriber Line) type accesstechnologies, the maximum throughputs possible on the access networksremain lower than the throughputs possible in the Core Network N. Thisresults in the access devices R_(A), R_(B), R_(S) being congestionpoints.

[0013] Conversely, the access network Ns is conventionally sufficientlywell dimensioned, but it is then in the core network N that congestioncan occur when a large number of users are in communication with theservice-providing server S. In this situation, it is advantageous tosend to the core network N only the data which can be transmitted to theusers.

[0014] Therefore, the access devices will degrade the transmission ofall or certain data flows: This degradation is conventionally done in anarbitrary manner. American patent U.S. Pat. No. 6,434,624 from the Ciscocompany teaches the application of quality of service processing tocertain data flows. This processing is parameterised by policy rules. Bynature, therefore, the processing is decided by a central member of thecommunication network, which cannot have knowledge of the nature of theinformation conveyed by the data flows.

[0015] However, it turns out that the sensitivity to degradation of thedata flows depends on the nature of the information they convey.

[0016] By way of example, a data flow containing voice is highlysensitive to jitter degradation, but not very sensitive to a reductionin the passband. As for a data flow containing video encoded accordingto the MPEG (Motion Photographic Expert Group) standard, this issensitive to loss of packets, since these packets can contain keyinformation for allowing the decoding of subsequent packets: the“P-pictures” are coded from the preceding “I-pictures”, according to adifferential coding.

[0017] The applicant therefore noted that it was important to takeaccount of the nature of the information conveyed in order to determine:

[0018] 1. which data flows had to be degraded in preference to theothers; and,

[0019] 2. in what ways they had to be degraded.

[0020] To do this, the object of the invention is a device for accessinga telecommunication network comprising

[0021] means for transmitting data flows between at least one firsttelecommunication client connected to the telecommunication network bymeans of an access network possessing throughput performances lower thanthe telecommunication network and at least one second telecommunicationclient accessible through the said telecommunication network, theinformation flows being organised in sessions, each data flow of one andthe same session providing communication between the sametelecommunication clients; and

[0022] degradation means for degrading at least one quality parameter ofat least one of the data flows in order to compensate for the differencein throughputs between the telecommunication network and the accessnetwork.

[0023] The invention is characterised in that the degradation means makeuse of a module associated with each session, for carrying out thedegradation, this module being determined by the first client.

[0024] Thus, the access devices according to the invention allow adegradation of the transmissions of the data flows, belonging to a givensession, which is adapted to the nature of the information transmitted.

[0025] They have the additional advantage of allowing an adaptation asprecise as desired: there can be taken into account not only aclassification of the conveyed information into a number of majorcategories: video, audio, etc., but also the method of encoding thisinformation. This is because the algorithm for coding the informationhas a very great influence on the impact that degradation of a QoS(Quality of Service) parameter can have on the final quality of thetransmitted information.

[0026] According to the invention, the module is determined by the firstclient. This determination can possibly be carried out in cooperationwith the end user, in particular by means of configuration parameters.

[0027] According to a first embodiment of the invention, the moduleprincipally consists of executable code allowing the degradation of thequality parameter or parameters. The module can for example betransmitted in the payload of an active packet transmitted by the firstclient (A). Alternatively, it can be downloaded from a code server andidentified by an identifier contained in an active packet transmitted bythe first client.

[0028] According to a second embodiment, the module principally consistsof a set of tables giving the correspondence, for each data flow of thesession, between the quality parameters and the impacts of a degradationof these quality parameters on the quality of the data flow concerned.

[0029] According to a third embodiment, the module principally consistsof a set of mathematical expressions linking, for each data flow of thesession, the quality parameters and the impacts of a degradation ofthese quality parameters on the quality of the data flow concerned.

[0030] According to a fourth embodiment, the module consists of a set ofpolicy rules supplied by a policy server.

[0031] Communications with the policy server can for example conform tothe CORBA protocol.

[0032] The invention and its advantages will emerge more clearly in thefollowing description of non-limiting embodiments, in conjunction withthe accompanying figures.

[0033]FIG. 1, already commented upon, illustrates the context into whichthe present invention fits.

[0034]FIGS. 2a and 2 b show schematically three possible embodiments ofthe invention.

[0035]FIG. 3 depicts a flow diagram of the algorithm that can beimplemented by the invention.

[0036]FIG. 4 illustrates a functional architecture of a router.

[0037]FIG. 2a illustrates a first embodiment of the invention using theprinciple of active networks. Active networks are for example describedin the articles:

[0038] “Toward an active network architecture” by D. Tennenhouse and D.Wetherall, published in 1996 in the journal Computer CommunicationReview (26, 2, pages 5 and following).

[0039] “Tutorial on Active Networks and its Management” by MarcusBrunner.

[0040] The principle of active networks is to give the network elementscapabilities for processing executable codes that can be conveyed in thepayload of the packets themselves or downloaded from a server and inparticular identified by an identifier contained in these packets. Thenetwork elements provided with such capabilities are conventionallyreferred to as “active routers”, and the messages (or packets)containing executable code or an executable code identifier are referredto as “active messages (or packets)”.

[0041] According to this first embodiment illustrated by FIG. 2a, theexecutable code, usually referred to as active code, is conveyed by thepackets themselves.

[0042] In this example, the telecommunication client A has opened amultimedia session with one (or more) other clients, not depicted in thefigure. The access device R_(A) allows the transmission of data flowsbelonging to this session, between the telecommunication client A bymeans of the access network N_(A) and the other client (or clients) bymeans of the telecommunication network N.

[0043] The telecommunication client A sends a message P_(A) to theaccess device R_(A). This message P_(A) contains a module M consistingof active code. In this example, the access device R_(A) is an activerouter. It is therefore able to read the active code constituting themodule M and load it.

[0044] Thus, each time the access device R_(A) needs to reduce one ormore quality parameters of one or more data flows, it makes use of themodule M thus loaded, associated with the session to which the dataflows in question belong. The active code constituting this module M isprovided for implementing the degradation process adapted to thesession.

[0045] According to one embodiment, this module M can take the form of afunction (in the conventional procedural programming sense), able to becalled by the main software program contained in the access deviceR_(A). In particular, this main software program and this function canbe written according to a Java™ type language in order to take advantageof the dynamic loading mechanisms of these languages.

[0046] Such a function, here called “ReduceBandwidth”, can have as theheader:

[0047] Function ReduceBandwidth(Flows F1 . . . Fn, quantity q)

[0048] The words “Function”, “Flows” and “quantity” are reserved wordsdefining respectively a function, a data type specific to the dataflows, and a data type specific for a degradation quantity q. Thisheader can form the interface between the main software program and theloaded function, in order to enable them to cooperate.

[0049] An example algorithm schema implemented by the module M can be asillustrated by the flow diagram of FIG. 3.

[0050] In a step S₁, it is determined whether one of the data flowsconstituting the session contains uncompressed data.

[0051] If yes, then, in a step S₂, the passband allocated to this dataflow is reduced.

[0052] If no, then, in a step S₃, for each of the data flows of thesession, the impact of a degradation q is evaluated. Then, in a step S₄,the data flow least impacted by this degradation is degraded as apriority.

[0053] Of course, other algorithmic schemas are possible. In particular,it is possible to distribute the desired degradation quantity q over anumber of data flows rather than impact a single data flow.

[0054] A second embodiment of the invention consists of taking advantageof the second mode of implementing the technique of active networks,that is to say transmitting in the active messages an identifier of theactive code to be loaded, this possibly being downloaded from a codeserver. This embodiment is illustrated by FIG. 2b. In FIG. 2b, theaccess device R_(A) is in communication with a code server CS. Thecommunications between these two elements can be performed by means ofthe telecommunication network N or by means of a dedicated network. Thecode server can be common to the different devices for accessing thetelecommunication network N (R_(B), S in FIG. 1, not depicted here).Alternatively, in particular in the case of large telecommunicationnetworks, provision can be made to have a number of code servers CS,possibly communicating with one another in order to synchronise theircontent.

[0055] In this example, the telecommunication client A has opened amultimedia session with one (or more) other clients, not depicted. Theaccess device R_(A) allows the transmission of data flows belonging tothis session, between the telecommunication client A by means of theaccess network N_(A) and the other client (or clients) by means of thetelecommunication network N.

[0056] The telecommunication client A sends a message P_(A) to theaccess device R_(A). This message P_(A) contains information making itpossible to determine the desired module. This information can forexample be an identifier.

[0057] In this case, the identifier can simply be transmitted in arequest P_(CS) sent to the code server CS, and directly identify aparticular module. The module M can then be downloaded to the accessdevice R_(A).

[0058] Loading and interfacing of the active code constituting themodule M can be performed in a manner identical or similar to thatindicated for the first embodiment. The algorithmic schemas can also beidentical.

[0059] According to another embodiment of the invention, the module Mdoes not consist of active code but of a table, associated with eachdata flow constituting the session, giving the correspondence betweenthe different quality parameters and the impact of a degradation of thisparameter on the quality of the data flow.

[0060] For example, for a data flow conveying uncompressed voice (forexample for a Voice Over IP or VoIP application), such a correspondencetable may contain the following information: Jitter 3 Packet loss 2

[0061] The second column indicates in numerical form from 0 to 3 theimpact of degradation of the corresponding quality parameter, a highfigure indicating a large impact. It can be seen in this example that ajitter degradation (that is to say the variation in the gaps between twosuccessive messages of the data flow) is much more significant than apassband degradation.

[0062] In the same way, such a correspondence table for a data flowconveying video compressed according to an MPEG (Motion PhotographicExpert Group) compression algorithm may contain the followinginformation: Packet loss 3 Jitter 1

[0063] It can be seen in this example that packet loss is a qualityparameter whose degradation has a high impact on the resultant quality,as opposed to jitter.

[0064] This is because, as mentioned previously, certain packets cancontain information essential to the decompression of subsequentpackets: certain fixed images constituting video are codeddifferentially with respect to key images. Therefore, the loss ofpackets containing these key images can prevent reconstruction of thesubsequent “differentially” coded images.

[0065] For a multimedia session comprising these two data flows, theaccess device R_(A) is able to choose the strategy minimising the impactof the necessary degradation.

[0066] It can for example sum the impacts of each quality parameter inthe correspondence tables of the data flows of the multimedia session.It then obtains: Packet loss 5 Jitter 4

[0067] As the impact of packet loss is greater, it can choose a strategyconsisting of increasing the jitter, that is to say in concrete terms,of letting the queues inside the access device grow.

[0068] Another strategy consists of differentiating the data flowswithin one and the same session. Thus, it can favour packet loss for thedata flow conveying voice or uncompressed data, and on the contraryfavour increasing jitter for the data flow conveying MPEG compressedvideo. Of course, these examples are given only as a guide, and theparameters considered in the first column can have much more precisesemantics. For example, it can be the loss of packets containing data ofa “P-picture” in the case of MPEG data.

[0069] It is furthermore possible to introduce weighting associated withthe data flows of one and the same session. For example, by setting agreater degradation impact value for audio, this will have theconsequence of giving greater importance to audio.

[0070] According to another embodiment of the invention, the module Mprincipally consists of a set of mathematical expressions linking thequality of each data flow constituting the session with differentquality parameters.

[0071] The overall quality q_(i) of each data flow i can be expressed inthe form: $q_{i} = {\sum\limits_{j = 1}^{n}{\alpha_{j} \cdot p_{j}}}$

[0072] in which n is the number of quality parameters and α_(j) is theimpact of the quality parameter p_(j) on the overall quality q_(i).

[0073] According to a variant, this mathematical formula can beexpressed in the form of a vector (α₁, α₂, α₃ . . . α_(n)). Thisformulation has the merit of allowing a practical transmission, in amessage P_(A), which is easier and gets closer to the third embodiment.It is however less flexible than the use of a mathematical expressionsince it allows only the expression of linear dependencies between thequality parameters p_(j) and the overall qualities q_(i).

[0074] The access device R_(A), having knowledge of the mathematicalexpressions (in formula form or in vector form), can implement differentstrategies in order to minimise the overall impact of the degradation.These strategies are similar to those described previously for the thirdembodiment.

[0075] According to another embodiment of the invention, the informationnecessary for selective degradation of one of the data flows of asession is available on a policy server.

[0076] This policy server can typically be a Policy Decision Point(PDP), as described in RFC 2748 of the IETF.

[0077] In this situation, the access device R_(A) acts as a PolicyEnforcement Point (PEP), and it asks the policy server (PDP) for therules to be implemented for degradation of the flows of one and the samesession.

[0078] These rules can be requested either preventatively, for exampleduring start-up of the access device or at regular intervals, or else oncommand of an external management station, etc., or reactively, forexample upon establishment of a session or when congestion is detected.

[0079] The access device and the policy server can conform to the CORBA(Common Object Request Broker Architecture) software architecture of theOMG (Open Management Group). The communications between the accessdevices and the policy server can also conform to this CORBA protocol.

[0080] The access device R_(A) can typically consist of one or morenetwork elements, in particular IP routers.

[0081]FIG. 4 illustrates an example functional architecture of an IProuter.

[0082] An IP router is structured around a switching matrix CM to whichthere are connected a set of input queues FI₁, FI₂, FI₃ . . . FI_(n) anda set of output queues FO₁, FO₂, FO₃ . . . FO_(p). Two schedulersSCH_(I) and SCH_(o) have the function of determining the order ofprocessing of the queues, respectively input and output.

[0083] The module M can then be loaded within these schedulers in orderto modify their queue processing policy.

[0084] Furthermore, in certain situations, the determination of thefinal quality of the transmitted information is subjective, that is tosay only (or more easily or precisely) able to be judged by a humanbeing.

[0085] Therefore, the client application A can determine the appropriatemodule M, in cooperation with the end user or users. This cooperationcan take the form of software configuration parameters of the clientapplication A.

1. A device (R_(A)) for accessing a telecommunication network (N)comprising means for transmitting data flows between at least one firsttelecommunication client (A) connected to the said telecommunicationnetwork by means of an access network (N_(A)) possessing throughputperformances lower than the said telecommunication network (N) and atleast one second telecommunication client (B, S) accessible through thesaid telecommunication network (N), the said information flows beingorganised in sessions, each data flow of one and the same sessionproviding communication between the same telecommunication clients; anddegradation means for degrading at least one quality parameter of atleast one of the said data flows in order to compensate for thedifference in throughputs between the said telecommunication network andthe said access network, characterised in that the said degradationmeans make use of a module associated with each session, for carryingout the said degradation, the said module being determined by the saidfirst client (A).
 2. An access device according to claim 1, in which thesaid module principally consists of executable code allowing thedegradation of the said at least one quality parameter.
 3. An accessdevice according to claim 2, in which the said module is transmitted inthe payload of an active packet transmitted by the said first client(A).
 4. An access device according to claim 2, in which the said moduleis downloaded from a code server and identified by an identifiercontained in an active packet transmitted by the said first client. 5.An access device according to claim 1, in which the said moduleprincipally consists of a set of tables giving the correspondence, foreach data flow of the said session, between the quality parameters andthe impacts of a degradation of these quality parameters on the qualityof the said data flow.
 6. An access device according to claim 1, inwhich the said module principally consists of a set of mathematicalexpressions linking, for each data flow of the said session, the qualityparameters and the impacts of a degradation of these quality parameterson the quality of the said data flow.
 7. An access device according toclaim 1, in which the said first client determines the said module incooperation with the end user, in particular by means of configurationparameters.
 8. An access device according to claim 1, in which the saidmodule consists of a set of policy rules supplied by a policy server. 9.An access device according to the preceding claim, in which thecommunications with the policy server conform to the CORBA protocol.